/**
 */
package tpi.obj3.planificador.planificador;

import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Planificacion</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getAnio <em>Anio</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getSemestre <em>Semestre</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getMaterias <em>Materias</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesLunes <em>Clases Lunes</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesMartes <em>Clases Martes</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesMiercoles <em>Clases Miercoles</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesJueves <em>Clases Jueves</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesViernes <em>Clases Viernes</em>}</li>
 *   <li>{@link tpi.obj3.planificador.planificador.Planificacion#getClasesSabado <em>Clases Sabado</em>}</li>
 * </ul>
 * </p>
 *
 * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion()
 * @model
 * @generated
 */
public interface Planificacion extends Elemento
{
  /**
   * Returns the value of the '<em><b>Anio</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Anio</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Anio</em>' attribute.
   * @see #setAnio(int)
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_Anio()
   * @model
   * @generated
   */
  int getAnio();

  /**
   * Sets the value of the '{@link tpi.obj3.planificador.planificador.Planificacion#getAnio <em>Anio</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Anio</em>' attribute.
   * @see #getAnio()
   * @generated
   */
  void setAnio(int value);

  /**
   * Returns the value of the '<em><b>Semestre</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Semestre</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Semestre</em>' attribute.
   * @see #setSemestre(int)
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_Semestre()
   * @model
   * @generated
   */
  int getSemestre();

  /**
   * Sets the value of the '{@link tpi.obj3.planificador.planificador.Planificacion#getSemestre <em>Semestre</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Semestre</em>' attribute.
   * @see #getSemestre()
   * @generated
   */
  void setSemestre(int value);

  /**
   * Returns the value of the '<em><b>Materias</b></em>' reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Materia}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Materias</em>' reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Materias</em>' reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_Materias()
   * @model
   * @generated
   */
  EList<Materia> getMaterias();

  /**
   * Returns the value of the '<em><b>Clases Lunes</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Lunes</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Lunes</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesLunes()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesLunes();

  /**
   * Returns the value of the '<em><b>Clases Martes</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Martes</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Martes</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesMartes()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesMartes();

  /**
   * Returns the value of the '<em><b>Clases Miercoles</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Miercoles</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Miercoles</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesMiercoles()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesMiercoles();

  /**
   * Returns the value of the '<em><b>Clases Jueves</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Jueves</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Jueves</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesJueves()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesJueves();

  /**
   * Returns the value of the '<em><b>Clases Viernes</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Viernes</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Viernes</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesViernes()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesViernes();

  /**
   * Returns the value of the '<em><b>Clases Sabado</b></em>' containment reference list.
   * The list contents are of type {@link tpi.obj3.planificador.planificador.Clase}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Clases Sabado</em>' containment reference list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Clases Sabado</em>' containment reference list.
   * @see tpi.obj3.planificador.planificador.PlanificadorPackage#getPlanificacion_ClasesSabado()
   * @model containment="true"
   * @generated
   */
  EList<Clase> getClasesSabado();

} // Planificacion
